1. Field of the Invention
The present invention relates to wireless communication systems, and more particularly to transmission protocols used by third-generation (3G) wireless communication systems.
2. Description of the Related Art
One category of mobile telephony communication devices, or mobile phones, includes third-generation devices. Third-generation (3G) mobile phones use digital radio signals for communication between mobile phones and cell towers, also known as base stations. Third-generation mobile phones are able to simultaneously transfer multiple data streams, such as voice, e-mail, instant messages, and streaming audio or video. These data streams may have different Quality-of-Service (QoS) characteristics and requirements. Third-generation mobile phones additionally allow for high rates of data transfers and broadband capabilities. The high rates of data transfer rely on efficient organization and transmission of data to and from the applications running on a mobile phone. The organization and transmission of data is defined by protocols and standards.
Third-generation mobile phone standards are set by the Third Generation Partnership Project (3GPP) and are based on the Universal Mobile Telecommunications System (UMTS) network technology. UMTS evolved from Global System for Mobile Communication (GSM) network technology, and UMTS might use GSM core networks. The 3GPP comprises several Technical Specification Groups (TSGs) that are responsible for various areas of third-generation technology. One way to categorize 3G technology is by layer levels and protocols. The 3G protocol stack includes at least three layers: (i) layer 1, also known as the physical layer, (ii) layer 2, also known as the data link layer, and (iii) layer 3, also known as the network layer. The network layer handles communication with applications on the mobile phone, the physical layer handles communication between a mobile phone and a base station, while the data link layer interfaces between the network and physical layers.
FIG. 1 shows a simplified partial block diagram of the 3G protocol stack. The various communication paths shown can be direct or indirect and can include intermediary elements which are not shown in the figure or described herein. Layer 1 comprises physical layer 101, which communicates with an antenna via path 101a and with layer 2 via path 102b. Path 102b comprises transport channels. Transport channels are data flows between the data link layer and the physical layer. Data in the transport channels is organized into packets. Transport channels can then be combined onto composite transport channels for radio transmission between a mobile phone and a base station using physical layer 101. Transport Format Combination Indicators (TFCI) are transmitted along with channel data in order to indicate to the receiver how to identify, decode, de-multiplex, and deliver the transmission it receives.
Layer 2 comprises Media Access Control (MAC) layer 102 and Radio Link Control (RLC) layer 103, which communicate via path 102a, which comprises logical channels. Logical channels are data flows within layer 2 associated with applications running on the wireless device. Each logical channel has an associated QoS. The data flows are organized into packets in the logic channels. Logical channels are mapped, i.e., multiplexed, to transport channels within layer 2. A particular transport channel can support logical channels with different QoS parameters.
Layer 3 includes Radio Resource Controller (RRC) entity 104, which controls and communicates with physical layer 101, MAC layer 102, and RLC layer 103 via paths 104c, 104b, and 104d, respectively. RRC 104 communicates with applications running on the mobile phone via path 104a. RLC layer 103 can also communicate with applications running on the mobile phone via path 103a, either directly or through intermediary entities (not shown) in layer 3. Layer 3 includes other entities (not shown), as well.
Layer 2 architecture and design is regulated by Working Group 2 (WG2) of the Radio Access Network (RAN) TSG, which is in charge of the Radio Interface architecture and protocols (MAC, RLC, Packet Data Convergence Protocol (PDCP)), the specification of the Radio Resource Control protocol, the strategies of Radio Resource Management, and the services provided by the physical layer to the upper layers. Among the technical specifications (TS) provided by WG2 RAN TSG is TS 25.321, which is the MAC protocol specification. TS 25.321 is occasionally updated and multiple releases are published, in conjunction with new releases of the 3G standard. A list of releases of TS 25.321 is available on the Internet at the 3GPP website. The MAC protocol specifies, among other things, (i) communication channels and (ii) protocol data units, formats, and parameters, for communication between the physical layer and the RLC layer of a mobile phone.
Release 6 of the 3GPP standard introduced the high-speed uplink packet access (HSUPA) protocol, which allows for the high-speed transmission of data from a mobile telephony device, referred to as user equipment (UE), to a base station, referred to as a Node-B, which is part of the UMTS Terrestrial Radio Access Network (UTRAN). Release 7 of the 3GPP also includes the HSUPA protocol, and later releases are expected to include it as well.
The HSUPA protocol employs (i) a shorter Transmission Time Interval (TTI) than other transport channels and (ii) a faster Hybrid Automatic Repeat Request (HARQ) mechanism. TTI refers to the length, typically in milliseconds, of an independently-decodable radio transmission. TTI is one representation of a transport block. Different transmission channels with different Quality of Service (QoS) parameters typically have different TTIs. HARQ is an error-control retransmission mechanism, which allows for the retransmission of a data packet that was not received as intended by the receiver. HSUPA uses HARQ with a Stop and Wait (SAW) protocol, wherein a process associated with a particular payload stops and waits for an acknowledgement (ACK) from the receiver indicating a successful receipt by the receiver, a negative acknowledgment (NACK) from the receiver indicating an unsuccessful receipt by the receiver, or the expiration of a defined waiting time in the case where neither an ACK nor a NACK are received from the receiver.
The HSUPA protocol uses an uplink Enhanced Dedicated Transport Channel (E-DCH), which is controlled by MAC-layer entities called MAC-e and MAC-es, which might be combined into one MAC-e/es entity. The HSUPA-related functions of the MAC layer include: (i) mapping between logical channels and transport channels, (ii) selection of appropriate transport format for each transport channel depending on instantaneous source rate, (iii) multiplexing/demultiplexing of upper-layer protocol data units (PDUs) into/from transport blocks delivered to/from the physical layer on common and dedicated transport channels, (iv) control of E-DCH transmission and reception, including support of a Hybrid Automatic Repeat Request (HARQ) mechanism, and (v) generation of uplink scheduling information to assist with E-DCH resource allocation.
FIG. 2 shows a simplified block diagram of the architecture of UE-side MAC-e/es entity 201 in accordance with Release 7 of the 3G standard. MAC-e/es entity 201 controls access to the E-DCH transport channel and handles functions specific to the E-DCH, such as described below for its component entities. MAC-e/es entity 201 comprises HARQ entity 202, multiplexing entity 203, and E-DCH Transport Format Combination (E-TFC) selection entity 204. MAC-e/es entity 201 is controlled by MAC control entity 205 via path 205a. HARQ entity 202 communicates with layer 1 via paths 202a and 202b. Path 202a is used for ACK/NACK signaling, while path 202b is used for traffic, including MAC-e payloads. HARQ entity 202 communicates with multiplexing entity 203 via path 202c, which transports MAC-e payloads. HARQ entity 202 is responsible for storing MAC-e payloads and re-transmitting them if necessary.
The HARQ mechanism allows a Node-B to rapidly request retransmission of erroneous uplink transport blocks until they are successfully received. In order to better use the time between acknowledgements, multiple processes can run for the same receiver using separate TTIs. This is called N-channel SAW (Stop and Wait). While one or more channels of the N channels are all awaiting an acknowledgement, the remaining channels can continue to transmit. Using HARQ, the receiver does not discard the information from failed transmissions, as is done with conventional Automatic Repeat Request (ARQ). Instead, the receiver stores and later combines the information from a failed transmission with the retransmission(s) to increase the probability of successful decoding. A HARQ entity, responsible for handling the MAC functions relating to the HARQ mechanism, is present in one or more MAC entities, which are located in the MAC layer.
E-TFC selection entity 204 of FIG. 2 communicates scheduling information with a Node-B via layer 1 and path 204a. E-TFC selection entity 204 is responsible for E-TFC selection according to the scheduling information received from the Node-B and MAC control entity 205. E-TFC selection entity 204 is responsible for arbitration among the different data flows mapped on the E-DCH channel. E-TFC selection entity 204 also controls the multiplexing function of multiplexing entity 203 by selecting which received MAC-d PDUs are to be multiplexed into each particular MAC-e PDU payload.
Multiplexing entity 203 communicates with a MAC-d entity (not shown) via path 203a, which transmits MAC-d protocol data units (PDUs). The MAC-d entity controls access to all dedicated transport channels. Multiplexing entity 203 is responsible for concatenating selected MAC-d PDUs into MAC-es PDUs, and multiplexing the one or more resultant MAC-es PDUs into a single MAC-e payload, to be transmitted in a next TTI, as instructed by E-TFC selection entity 204, via path 203b. All the MAC-d PDUs in a single MAC-es PDU are of the same size and come from the same logical channel. The size and logical channel for the MAC-d PDUs in a MAC-es PDU are indicated by a Data Description Indicator (DDI). Multiplexing entity 203 is also responsible for managing and setting the Transmission Sequence Number (TSN) per logical channel for each MAC-es PDU.
FIG. 3 shows exemplary MAC-es PDU1 301 in accordance with the 3G standard. A MAC PDU in general is a bit string of variable length. A MAC PDU comprises an optional MAC header and a MAC Service Data Unit (SDU). Both the MAC header and the MAC SDU are of variable length. The content and the size of the MAC header depends on the type of the associated logical channel, and in some cases none of the parameters of the MAC header are needed.
MAC-es PDU1 301 comprises a header with a TSN and an SDU section comprising N1 MAC-es SDUs, wherein N1 is an integer and each MAC-es SDU comprises a MAC-d PDU, such as MAC-d PDU 303, received from a MAC-d entity. Data entity 302 comprises DDI1 and N1. DDI1 contains the DDI information for MAC-es PDU1 301, and N1 is the number of MAC-es SDUs in MAC-es PDU1 301. Data entity 302 and MAC-es PDU1 301 are then combined with other data entities and MAC-es PDUs to form a MAC-e payload, also called a PDU.
FIG. 4 shows exemplary MAC-e PDU 401 in accordance with the 3G standard. MAC-e PDU 401 comprises Nn MAC-es PDUs, wherein Nn is an integer, and further comprises a header section comprising the data entities of those Nn MAC-es PDUs. MAC-e PDU 401 might optionally comprise additional header information, Scheduling Information (SI), and padding. MAC-e PDU includes data entity 302 and MAC-es PDU1 301 from FIG. 3, as well as (Nn−1) other data entities and MAC-es PDUs, such as MAC-es PDU2 403 and its affiliated data entity 402. The MAC-d PDUs included in MAC-es PDU2 403 can be from a logical channel the same as or different from the logical channel of the MAC-d PDUs included in MAC-es PDU1 301. MAC-e PDU 401 is adapted to be transmitted in a single TTI.
The TTI for HSUPA operation can be a mere 2 msec. The short duration of the TTI ensures that the channel conditions are likely to remain substantially fixed during a single TTI. However, the short duration is demanding on the User Equipment (UE) because it needs to process a whole MAC-e payload of data in less than 2 msec. Specifically, the UE needs to (i) select an E-TFC, (ii) concatenate and multiplex MAC-d PDUs into a single MAC-e payload, which can involve many bit-shifting operations, (iii) set and manage a TSN, and (iv) handle HARQ functions, including storing and retransmitting MAC-e payloads. These operations might require more complex processors and/or greater power consumption than pre-HSUPA operations do.
FIG. 5 shows a simplified block diagram of part of prior-art UE 500 showing processor relationship to protocol-stack layers. Different processors may be associated with different layers of the 3G protocol stack. For example, MAC-e functionality is typically implemented in a Protocol Stack (PS) processor, such as PS processor 501. Thus, one task of PS processor 501 is to multiplex and concatenate MAC-d PDUs.
The size of a MAC-e header depends on the number of logical channels, i.e., MAC-d flows, that are multiplexed in the associated MAC-e PDU. The MAC-e header contains 18 bits for every MAC-d flow. Thus, MAC-e header size is variable and can change from one TTI to the next, and typically is not a multiple of 8 bits, i.e., is not byte-multiple. MAC-d PDUs, on the other hand, are aligned to byte-multiple memory address, e.g., 8-, 16-, or 32-bit memory addresses. The MAC-d PDUs should be concatenated immediately following the header. Since MAC-e header size is variable and MAC-d PDUs can start in the middle of a byte, it may be necessary to shift all the MAC-d PDUs by a few bits for the concatenation. Thus, the concatenation of MAC-d PDUs might involve many bit-shifting operations. This shifting might be an inefficient and time-and-effort-costly procedure for a PS processor designed to operate with multi-byte words.
Layer 1 processor 502 is a baseband processor, which is a type of DSP, and is designed to efficiently handle bit-shifting operations. Layer 1 processor 502 performs baseband processing, which includes modem-like functionality for UE 500. In general, operations in layer 1 processor 502 are bit-oriented, while operations in PS processor 501 are byte- and word-, i.e., multi-byte memory unit, oriented.
The memory of PS processor 501 comprises the retransmission buffer required by the HARQ entity, such as HARQ entity 202 of FIG. 2, for storing MAC-e payloads if retransmission becomes necessary. PS processors, such as PS processor 501, are typically implemented using Advanced RISC Machine (ARM) processors.